package cn.jy.map.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.jy.map.domain.UserSet;
import cn.jy.map.domain.XyDmRounds;
import cn.jy.map.utils.GjzHctResult;
import cn.jy.map.utils.ParameterResult;
import cn.jy.map.utils.PlasmaMessage;
import cn.jy.map.utils.Statistical;

public interface HCTAnalysisMapper {
	/**
	 * 得到所有的护士
	 */
	public List<UserSet> getNurseAll();

	/**
	 * 查询所有符合条件的浆员ID(17年至今)
	 */
	public List<Integer> getPlasmaPeopleIds(@Param("startTime") String startTime, @Param("endTime") String endTime,
			@Param("startTime1") String startTime1, @Param("endTime1") String endTime1);

	/**
	 * 得到浆员的信息
	 */
	public List<PlasmaMessage> getJYInformation(@Param("ProviderNo") String ProviderNo);

	public int getPlasmaAll();

	/**
	 * 得到护士的id
	 */
	public String getNurse(@Param("ProviderNo") String ProviderNo);

	/**
	 * 得到义工的id
	 */
	public String getVolunteer(@Param("ProviderNo") String ProviderNo);

	/**
	 * 得到护士的姓名
	 */
	public String getNurseName(@Param("HSXM") String HSXM);

	/**
	 * 得到义工的姓名
	 */
	public String getVolunteerName(@Param("YGXM") String YGXM);

	/**
	 * 得到浆员的最近沟通记录
	 */
	public List<String> getCommunicationRecord(@Param("JYXM") String JYXM);

	/**
	 * 得到浆员的hct值大于等于6的
	 */
	public List<String> getPlasmaHCT(@Param("ProviderNo") String ProviderNo, @Param("startTime") String startTime,
			@Param("endTime") String endTime);

	/**
	 * 得到浆员的轮次和时间
	 */
	public XyDmRounds getRoundInformation(@Param("dateTime") String dateTime);

	/**
	 * 得到浆员的层数和献浆时间
	 */
	public List<ParameterResult> getLayerAndCollectionDate(@Param("ProviderNo") String ProviderNo,
			@Param("startTime") String startTime, @Param("endTime") String endTime);

	/**
	 * 得到hct平均值
	 */
	public int getHctAverage(@Param("ProviderNo") String ProviderNo, @Param("startTime") String startTime,
			@Param("endTime") String endTime);

	public List<ParameterResult> getCurrentRounds(@Param("dateTime") String dateTime);

	public List<Integer> getOtherCycle();

	public List<ParameterResult> getOther(@Param("ProviderNo") String ProviderNo);

	public List<String> getHctFlag();

	public List<String> getVillageName();

	public List<String> getProviderNo(@Param("nativeplace") String nativeplace, @Param("ProviderNo") String ProviderNo);

	public List<String> getGjzHctNo();

	public List<String> getHctFlagByGroup(@Param("nurseId") String nurseId, @Param("hctFlag") String hctFlag);

	public List<String> getHctFlagAll(@Param("nurseId") String nurseId);

	public List<String> getManageNurseId(@Param("nurseId") String nurseId);

	public List<String> getHctFlagOther(@Param("hctFlag") String hctFlag);

	public List<String> getAllOther(@Param("hctFlag") String hctFlag);

	public List<Statistical> getNativeplace(@Param("hctFlag") String hctFlag, @Param("nurseId") String nurseId);

	public List<Statistical> getNativeplaceIsNull(@Param("hctFlag") String hctFlag);

	public List<String> getVillageAllIsNull(@Param("hctFlag") String hctFlag);

	public List<String> getVillageAll(@Param("hctFlag") String hctFlag, @Param("nurseId") String nurseId);

	public List<Statistical> searchNurse();

	List<GjzHctResult> getCyclesNotNurse(@Param("hctFlag") String hctFlag);

	List<GjzHctResult> getCyclesByNurse(@Param("hctFlag") String hctFlag, @Param("nurseId") String nurseId);

	List<GjzHctResult> getgetCyclesNurseAll(@Param("nurseId") String nurseId);

	List<GjzHctResult> searchCyclesByAddress(@Param("hctFlag") String hctFlag, @Param("nativeplace") String nativeplace,
			@Param("nurseId") String nurseId);

	List<GjzHctResult> searchCyclesNotNurse(@Param("hctFlag") String hctFlag, @Param("nativeplace") String nativeplace);

	public List<String> getJyNoByNurse(@Param("nurseId") String nurseId);

	public List<String> getJyNoAll();

	public List<String> getJyNoIsNull();

	public List<String> getJyNoByState(@Param("hctFlag") String hctFlag);

	public List<String> getJyNoByAddress(@Param("nativeplace") String nativeplace);

	public List<GjzHctResult> getHctByProviderNo(@Param("providerNo") String providerNo);

}
